/*
* IBM Confidential
* (C) Copyright IBM Corp. 2011 All Rights Reserved.
*/
package com.ibm.crm.tma.adapter.mq.testplan.dto;

import java.util.List;

/**
 * <p>
 * Represents a test plan entity. It defines fields that represent the
 *  configuration data of a test plan (The total number of operations
 *  to be executed, the test plan duration in minutes and the List of
 *  Peak instances to be scheduled in the test plan duration).
 * It provides a setter and a getter for each defined field and does not
 * perform any argument validation in the setters.
 * </p>
 * <p>
 * Thread Safety:
 * This class is mutable and thus not thread safe. It is expected to be
 *  used by the caller in a thread safe manner.
 * </p>
 * @author Schpotsky, TCSDEVELOPER
 * @version 1.0
*/
public class Plan {
    /**
     * <p>
     * Represents the total number of operations to be executed during the
     * test plan execution.
     * Can be any value.
     * Has a setter and a getter.
     * It is mutable.
     * </p>
    */
    private int totalAmount;
    /**
     * <p>
     * Represents the duration of the test plan expressed in minutes.
     * Can be any value.
     * Has a setter and a getter.
     * It is mutable.
     * </p>
    */
    private int duration;
    /**
     * <p>
     * Represents the List of Peak instances representing the peaks to
     * be scheduled to be executed during in the test plan.
     * Can be any value.
     * Has a setter and a getter.
     * It is mutable.
     * </p>
    */
    private List<Peak> peaks;
    /**
     * <p>
     * Creates an instance of this class.
     * </p>
    */
    public Plan() {
    }
    /**
     * <p>
     * Gets the totalAmount instance field.
     * </p>
     * @return The totalAmount.
    */
    public final int getTotalAmount() {
        return totalAmount;
    }
    /**
     * <p>
     * Sets the totalAmount instance field.
     * </p>
     * @param totalAmount
     *            The total number of operations to be executed
     *            during the test plan.
    */
    public final void setTotalAmount(final int totalAmount) {
        this.totalAmount = totalAmount;
    }
    /**
     * <p>
     * Gets the duration instance field.
     * </p>
     * @return The duration.
    */
    public final int getDuration() {
        return duration;
    }
    /**
     * <p>
     * Sets the duration instance field.
     * </p>
     * @param duration
     *            The duration of the test plan expressed in minutes.
    */
    public final void setDuration(final int duration) {
        this.duration = duration;
    }
    /**
     * <p>
     * Gets the peaks instance field.
     * </p>
     * @return The peaks.
    */
    public final List<Peak> getPeaks() {
        return peaks;
    }
    /**
     * <p>
     * Sets the peaks instance field.
     * </p>
     * @param peaks
     *            The List of Peak instances to be executed in the test plan.
    */
    public final void setPeaks(final List<Peak> peaks) {
        this.peaks = peaks;
    }
}

